#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Ficheiro que gera os gráficos.

Autores: O. Mílitão, R. Josué
Data: 03-05-2012
"""
import numpy as np
import matplotlib.pyplot as p
	
def plotGraf(strTitlePlot, listNameX, ValueX, inListNameY, ValueY, labelY):
		
    ''' 
    Metodo que recebe por parâmetro todos os dados necessários para a representação de um gráfico.

    var strTitlePlot - Titulo do gráfico
    var inListNameX - Valores de xx, anos
    var inValueX - 0
    var inListNameY - 0
    var inValueY - Valores de yy, quantidade de alunos
    var inLabelY - Label eixo dos yy
    '''
    
    fig = p.figure()
    axisXY = fig.add_subplot(1,1,1)
    
    barQuant = len(ValueY)
    
    ind = range(barQuant)
    
    axisXY.bar(ind, ValueY, facecolor = '#777777', align = 'center')

    axisXY.set_ylabel(labelY)
    axisXY.set_title(strTitlePlot)
    axisXY.set_xticks(ind)
    axisXY.set_xticklabels(listNameX)
    fig.autofmt_xdate()
    p.show()

def makeGraf(in_data, column, title, label):
    """
    Metodo que faz o gráfico, pegando no array com a informação e na coluna desejada.
    var in_data - array com a informacao
    var column - coluna que prentede
    var title - titulo para o grafico
    var lable - legenda para os eixos
    """
    data = [x[column] for x in in_data]
    data_distint = list(set(data))
    counts = []
    for ip in data_distint:
        count = 0
        for x in data:
            if x == ip:
                count+=1
        counts.append(count)
            
    plotGraf(title, data_distint, 0, 0, counts, label)

#plotGraf("Titulo", [2,3,4,5,6,7], 0, 0, [12, 52, 54, 25, 54, 65], "tal")
